package com.xyy.saas.payment.adpater.jd.vo;

import lombok.*;

import java.io.Serializable;

/**
 * 协议支付请求
 */
@Builder
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class JDSaleByContractRequest implements Serializable {

    /**
     * 二级商户号：必填
     * 商户号（12位数字，由京东侧分配）
     */
    private String merchantNo;

    /**
     * 商户订单号：必填
     * 商户提供的唯一交易流水号（字母和数字）
     */
    private String outTradeNo;

    /**
     * 签约协议号：必填
     * 京东侧签约协议号
     */
    private String contractNo;

    /**
     * 交易金额：必填
     * 单位：分
     */
    private String tradeAmount;

    /**
     * 订单有效期（单位为分钟） ：非必填
     * 订单的失效时长，单位：分，失效后则不能再支付
     */
    private String tradeExpiryTime;

    /**
     * 付款方设备信息 JDDeviceInfo 转成JSONString ：非必填
     */
    private String payerDeviceInfo;

    /**
     * 收款方设备信息 JDDeviceInfo 转成JSONString ：非必填
     */
    private String payeeDeviceInfo;

    /**
     * 回传参数 ：非必填
     * 请求时传递的参数
     */
    private String returnParams;

    /**
     * 商品信息 List<JDGoodsInfo> 转成JSONString ：非必填
     */
    private String goodsInfo;

    /**
     * 业务类型 ：不需要传，固定写死
     * 业务类型。如有疑问可联系京东侧产品经理确认见业务类型编码列表
     */
    private String bizTp;

    /**
     * 通知地址：不需要传
     */
    private String notifyUrl;

    /**
     * 分账信息：不需要传 List<JDDivisionAccSubTradeInfo> JSONString
     */
    private String divisionAccountInfo;
}
